<template>
  <c-card>
    <p>软件考点</p>
    <table>
      <tr v-for="(item, index) in softwareData" :key="index">
        <td>{{ item.name }}</td>
        <td>{{ item.desc }}</td>
      </tr>
    </table>
  </c-card>
</template>

<script setup>
import { ref } from 'vue';

const softwareData = ref([
  {
    name: '软件工程基础知识',
    desc: `
      url参考：https://blog.csdn.net/qq_44774198/article/details/127188130

      一：开发生命周期：指一个系统历经计划、分析、设计、编程、测试、维护直至淘汰的整个过程。
        1. 三种划分方法：Boehm划分法、国标(GB8566-1988)划分法、RUP划分法。
          （1）Boehm划分法：计划（问题定义、可行性研究）、开发（需求分析、总体设计、详细设计、编码、测试）、运行（维护）三大阶段；
          （2）国标(GB8566-1988)划分法：可行性研究与计划、需求分析、概念设计、详细设计、实现、组装测试、确认测试、使用和维护；
          （3）RUP划分法：分为初始、细化、构造、移交四个主要阶段;

      二：开发模式：
        1. 瀑布模型：
          应用场合：适合需求明确的项目。
          优点：可以使过程比较规范，有利于评审。
          缺点：过于理想，缺乏灵活性，容易产生需求偏差。

        2. V模型 (瀑布模型变体)：
          描述：是一种典型的测试模型，该模型强调开发过程中测试贯穿始终。

        3. 快速原型模型：
          应用场合：需求不够明确，需要经常变化的项目。
          优点：充分提现了用户的参与和决策。
          缺点：在获得真实需求时，就将抛弃原型。

        4. 演化模型：
          应用场合：需求不够明确，对软件需求缺乏准确认识的情况。
          描述：是迭代的过程模型，是一种“渐进式”原型，让开发人员能够逐步开发出更完整的软件版本。

        5. 增量模型：
          应用场合：仍有利于进行需求不明确的项目开发。
          描述：拥有瀑布模型全部优点，采用一种“递增试”模型，关注点是一块一块开发，以增加的方式进行。

        6. 螺旋模型：
          应用场合：适用于庞大、复杂并且有高风险的系统。
          描述：结合了瀑布模型和演化模型的优点，由制定计划-风险分析-实施工程-客户评估，这一循环组成。
          特点：加入了风险分析。

        7. 喷泉模型：
          描述：面对对象的开发过程，不存在明显的边界，允许各开发活动交叉、迭代开展。
          核心：迭代。
          优点：提高软件的开发效率，节省开发时间。
          缺点：不利于项目管理。

        8. 统一过程(UP)模型：
          描述：一般用于大型软件的开发。
          三个特点：用例驱动、以基本架构为中心、迭代和增量。
          四个阶段：初始阶段（生命周期目标）、细化阶段（生命周期架构）、构建阶段（初始运作功能）和交付阶段（产品发布）。
          优点：每个阶段结束时都要安排一次技术评审，以确定这个阶段的目标是否已经满足，满足则允许项目进入下一个阶段。

        9. 敏捷开发：
          描述：XP（极限编程）、自适应开发、水晶方法、特性驱动开发等。

        10. XP方法：
          四大价值观：沟通、简单、反馈、勇气。
          五大原则：快速反馈、简单性假设、逐步修改、提倡更改、优质工作。
          十二个最佳实践：计划游戏、小型发布、隐喻、简单设计、测试先行、重构、结对编程、集体代码所有制、持续集成、每周工作40小时、现场客户、编码标准。

        11. 水晶法：
          描述：认为每个不同的项目都需要一套不同的策略、约定和方法论。

        12. 并列争求法：
          描述：使用迭代的方法，30天一次的迭代成为一个冲刺。

        13. 敏捷统一过程(AUP)：
          描述：采用“在大型上连续”以及在“小型上迭代”原理来构建项目。
          每个AUP迭代执行的活动：建模、实现、测试、部署、配置和项目管理、环境管理。

    `,
  },
  {
    name: '面对对象',
    desc: `
      一、设计模式七大原则：
      1. 单一职责原则
      2. 接口隔离原则
      3. 依赖倒转原则
      4. 里氏代换原则
      5. 开闭原则
      6. 迪米特原则
      7. 合成复用原则
    `,
  },
  {
    name: '数据结构与算法',
    desc: ``,
  },
  {
    name: '程序设计语言',
    desc: ``,
  },
  {
    name: '计算机硬件基础',
    desc: ``,
  },
  {
    name: '操作系统',
    desc: ``,
  },
  {
    name: '数据库系统',
    desc: ``,
  },
  {
    name: '计算机网络',
    desc: `
    IP地址与子网划分
    `,
  },
  {
    name: '信息安全知识',
    desc: ``,
  },
  {
    name: '知识产权和标准化',
    desc: ``,
  },
  {
    name: '专业英语',
    desc: ``,
  },
]);
</script>

<style lang="scss" scoped>
p {
  line-height: 32px;
  font-size: 14px;
  font-weight: 700;
}

table {
  width: 100%;
  margin-bottom: 20px;
  font-size: 14px;
  line-height: 22px;
  color: #303133;

  td {
    padding: 12px 10px;
    border: 1px solid #e5e5e5;
    white-space: pre;

    &:first-child {
      width: 260px;
    }
  }
}
</style>
